package com.cubicleman.airvj.model
{
	import com.adobe.cairngorm.model.IModelLocator;

	public class Model implements IModelLocator
	{
		/**
		 *  The data model
		 */
		[Bindable]
		public function Model()
		{
			
			/**
			 *  @private
			 *  The var holding the singleton instance of Model.
			 */
			private static var model : Model = null;
		
		
		    //--------------------------------------------------------------------------
		    //
		    //  Class methods
		    //
		    //--------------------------------------------------------------------------
		
			/**
			 *  Returns the singleton instance of Model
			 */
			public static function getInstance() : Model
			{
				if ( model == null ) 
				{
					model = new Model( new SingletonBlocker() );
				}
					
				return model;
		    }
		    
		    
		    //--------------------------------------------------------------------------
		    //
		    //  Constructor
		    //
		    //--------------------------------------------------------------------------
		
		    /**
		     *  Constructor.
		     */	
			public function Model( singletonBlocker : SingletonBlocker ) : void 
			{
				super();
				userPreferences = new UserPreferences();
				currentExchanges = new ArrayCollection();
			}
			
			
			//--------------------------------------------------------------------------
		    //
		    //  Properties
		    //
		    //--------------------------------------------------------------------------
		}

	}
}

internal class SingletonBlocker {}